home *** CD-ROM | disk | FTP | other *** search
- istream &operator>>(istream &is, rational &r)
- {
- long n, d;
- char c = 0;
- if (is >> c && c == '(')
- {
- is >> n >> c;
- if (c == '/')
- is >> d >> c;
- if (c != '(')
- {
- is.putback(c);
- is.clear(ios::failbit);
- }
- }
- else
- {
- is.putback(c);
- is >> n;
- d = 1;
- }
- if (is)
- r = rational(n, d);
- return is;
- }
-